Internet Relay Chat
Internet Relay Chat (IRC) is an application layer protocol used for real-time online chat. Technical information IRC is an open protocol that uses TCP and optionally TLS. An IRC server can connect to other IRC servers to expand the IRC network. Users access IRC networks by connecting a client to a server. Most IRC servers do not require users to log in, but a user will have to set a nickname before being connected. The standard structure of a network of IRC servers is a tree. Messages are routed along only necessary branches of the tree but network state is sent to every server and there is generally a high degree of implicit trust between servers. This architecture has a number of problems. A misbehaving or malicious server can cause major damage to the network, and any changes in structure, whether intentional or a result of conditions on the underlying network, require a net-split and net-join. This results in a lot of network traffic and spurious quit/join messages to users, and temporary loss of communication. Adding a server to a large network means a large background bandwidth load on the network and a large memory load on the server. Once established however, each message to multiple recipients is delivered by multicast. That means each message travels a network link exactly once. This is a strength in comparison to non-multicasting protocols such as SMTP or XMPP. Commands and replies IRC is based on a line-based structure with the client sending single-line messages to the server, receiving replies to those messages and receiving copies of some messages sent by other clients. In most clients users can enter commands by prefixing them with a slash (/). Depending on the command, these may either be handled entirely by the client, or - generally for commands the client does not recognize - passed directly to the server, possibly with some modification. Due to the nature of the protocol, it is impossible for automated systems to pair a sent command with its reply. The basic means of communication in an established IRC session is a channel. Multiple channels may be hosted by a single server. IRC operators There are also users who maintain elevated rights on their local server, or the entire network; these are called IRC operators, sometimes shortened to IRCops. On some IRC implementations, IRC operators are also given channel operator status in every channel, although many people believe that administration of channels and administration of the network should be kept separate, and that IRC operator status does not confer the right to interfere with a particular channel's operation. However in most networks, IRC operators usually do not interfere with channel administrations unless they violate the network's terms of service. Standard commands Arguments are in angle brackets. In an argument, the default value or command is the value after the colon. Arguments in square brackets are optional. These commands are defined in RFC 1459 and RFC 2812. The intended user is in a clause preceding the description. External links * RFC 1459 - Technical information about IRC. Category:Application layer protocols